package com.sy.service.impl;

import com.sy.dao.CouponTemplateDao;
import com.sy.dto.CouponTemplateDto;
import com.sy.entity.CouponTemplate;
import com.sy.service.intf.CouponTemplateService;
import com.sy.util.StrUtil;
import com.sy.vo.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @description: 码起 自动生成代码
 * @author: 小毛
 * @create: 2020-11-30 11:42:53
 */
@Service
public class CouponTemplateServiceImpl implements CouponTemplateService{

    @Autowired
    private CouponTemplateDao couponTemplateDao;

    @Override
    public R save(CouponTemplate couponTemplate){
        if(couponTemplateDao.insert(couponTemplate)>0){
            return R.ok();
        }else{
            return R.fail("新增失败");
        }
    }
    @Override
    public R delById(int id){
        if(couponTemplateDao.deleteById(id)>0){
            return R.ok();
        }else{
            return R.fail("删除失败");
        }
    }
    @Override
    public R all(){
       return R.ok(couponTemplateDao.all());
    }

    //创建优惠券模板，将优惠券模板加入redis中
    @Override
    public R insert(CouponTemplateDto couponTemplateDto) {
        //检验参数是否正确
        if (null != couponTemplateDto) {
            if (StrUtil.checkNoEmpty(couponTemplateDto.getName(), couponTemplateDto.getCategory(), couponTemplateDto.getIntro(), couponTemplateDto.getLogo())
            && couponTemplateDto.getRule() != null && couponTemplateDto.getIsgeneral() != null && couponTemplateDto.getExpired_time() != null) {

                CouponTemplate couponTemplate = new CouponTemplate(couponTemplateDto.getName(), couponTemplateDto.getLogo(), couponTemplateDto.getIntro()
                        , couponTemplateDto.getCategory(), couponTemplateDto.getIsgeneral(), couponTemplateDto.getExpired_time()
                        , couponTemplateDto.getCoupon_count(), couponTemplateDto.getMoney(), couponTemplateDto.getRule());
                couponTemplateDao.insertId(couponTemplate);
                return R.ok(couponTemplate.getId());
            }
        }
        return R.fail();
    }
}
